home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 376-400 / disk_386 / xlispstat / src2.lzh / XLisp-Stat / statinit.c < prev    next >
C/C++ Source or Header  |  1990-10-02  |  16KB  |  441 lines

  1. /* XLISP-STAT 2.1 Copyright (c) 1990, by Luke Tierney                  */
  2. /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz    */
  3. /* You may give out copies of this software; for conditions see the    */
  4. /* file COPYING included with this distribution.                       */
  5.  
  6. #include <time.h>
  7. #include "xlisp.h"
  8. #include "osdef.h"
  9. #include "iviewdef.h"
  10. #ifdef ANSI
  11. #include "xlproto.h"
  12. #include "xlsproto.h"
  13. #include "Stproto.h"
  14. #include "osproto.h"
  15. #else
  16. #include "xlfun.h"
  17. #include "xlsfun.h"
  18. #include "Stfun.h"
  19. #include "osfun.h"
  20. #endif ANSI
  21. #include "xlvar.h"
  22.  
  23. #ifndef PI
  24. # define PI 3.14159265358979323846
  25. #endif PI
  26.  
  27. #define nil 0L
  28.  
  29. #ifdef UNIX
  30. extern char *getunixenv();
  31. #endif UNIX
  32.  
  33. #ifdef ANSI
  34. void init_color(ColorCode,LVAL),init_colors(void),init_cursor(int,LVAL),
  35.      init_cursors(void),init_plot_symbol(int,int,LVAL),init_plot_symbols(void);
  36. #else
  37. void init_color(),init_colors(),init_cursor(),
  38.      init_cursors(),init_plot_symbol(),init_plot_symbols();
  39. #endif ANSI
  40.  
  41. /* moved from objects.c JKL */
  42. long time_stamp;
  43.  
  44. /* symbols */
  45. LVAL s_true, s_ielement, s_ivalue, s_sublist, s_select, s_elt, s_vector;
  46. LVAL s_list, s_icontents, s_displacedto, s_arrayident, s_linked_plots;
  47. LVAL s_subarray, a_float, s_pi;
  48. LVAL s_selecting, s_brushing, s_user;
  49. LVAL s_invisible, s_normal, s_hilited, s_selected, s_solid, s_dashed;
  50. LVAL sk_point_labels;
  51. LVAL s_left, s_center, s_right, s_top, s_bottom;
  52. LVAL s_xor;
  53. LVAL sk_allocate, sk_dispose, sk_resize, sk_redraw, sk_do_idle,
  54.   sk_do_click, sk_do_motion,
  55.   sk_do_key, sk_install, sk_remove, sk_update, sk_select,
  56.   sk_mark_points_in_rect, sk_adjust_screen,
  57.   s_hardware_address,  s_number_of_variables, s_menu,
  58.   sk_draw, sk_redraw_background, sk_redraw_content, sk_redraw_overlays,
  59.   sk_overlay_click, sk_resize_overlays, sk_new,
  60.   s_histogram_proto, sk_new_menu, sk_add_points, sk_add_lines, 
  61.   s_black_on_white, sk_variable_labels, s_variable_labels,
  62.   s_scatterplot_proto, sk_adjust_to_data, sk_showing_labels,
  63.   s_showing_labels, sk_scale, s_spin_proto, s_scatmat_proto,
  64.   s_name_list_proto, s_depth_cuing,
  65.   s_showing_axes, sk_type, s_dotword,
  66.   s_title, s_items, s_id, s_menu_list, s_key,
  67.   s_mark, s_style, s_action, s_enabled, s_menu_proto, s_apple_menu_proto,
  68.   s_menu_item_proto, sk_do_action, s_bold, s_italic, s_underline,
  69.   s_outline, s_shadow, s_condense, s_extend, 
  70.   sk_enabled, s_type, s_go_away, s_default_button,
  71.   s_text, s_location, s_size, s_dialog,
  72.   s_min_value, s_max_value, s_page_increment, s_editable,
  73.   s_list_data, s_columns, sk_scroll_action, s_dialog_proto, sk_go_away,
  74.   s_dialog_item_proto, s_button_item_proto, s_toggle_item_proto,
  75.   s_text_item_proto, sk_editable, s_choice_item_proto, s_scroll_item_proto,
  76.   sk_min_value, sk_max_value, sk_page_increment, s_list_item_proto,
  77.   sk_columns, s_modeless, s_modal, s_hardware_objects, s_bind_to_file,
  78.   sk_clobber, sk_own, sk_print, s_arrow, sk_activate, sk_close, s_value,
  79.   s_features, s_and, s_or, s_not, s_listener, s_random_state, s_input_stream,
  80.   sk_tolerance, sk_max_iters, sk_adjust_points_in_rect, sk_adjust_screen_point,
  81.   s_self, s_function_documentation, s_variable_documentation, s_documentation,
  82.   s_compound_data_proto, sk_data_length, sk_data_seq, sk_make_data,
  83.   sk_select_data,
  84.   s_machine_epsilon, s_graph, s_instance_slots, s_proto_name,
  85.   s_content_variables, s_rotation_type, s_rotation_angle, s_rotation_controls,
  86.   s_histogram_internals, sk_adjust_depth_cuing, sk_draw_axes, s_mode_list,
  87.   s_scale_type, s_fixed, s_variable, sk_apply_transformation,
  88.   sk_unselect_all_points, s_set_slot_hook, s_message_hook, s_mouse_mode,
  89.   s_has_h_scroll,  s_has_v_scroll, s_fixed_aspect, sk_width, sk_color,
  90.   sk_symbol, s_multiple, s_internals, s_color_index, s_cursor_index, 
  91.   s_symbol_index, s_internal_ticks, s_pitching, s_rolling, s_yawing, sk_basis,
  92.   sk_links, sk_linked, sk_show, sk_show_window;
  93.   
  94. void statfinit()
  95. {
  96.   LVAL features;
  97. #ifdef UNIX
  98.   char *libdir;
  99. #endif UNIX
  100.  
  101.   time_stamp = time((unsigned long *) NULL);
  102.   
  103.   s_hardware_objects = xlenter("*HARDWARE-OBJECTS*");
  104.   s_linked_plots = xlenter("_linked_plots_");
  105.   setvalue(s_linked_plots, NIL);
  106.   setvalue(s_hardware_objects, NIL);
  107.   s_random_state = xlenter("*RANDOM-STATE*");
  108.   setvalue(s_random_state, newrandomstate());
  109.   s_input_stream = xlenter("*INPUT-STREAM*");
  110.   setvalue(s_input_stream, newustream());
  111.   s_machine_epsilon = xlenter("MACHINE-EPSILON");
  112.   setvalue(s_machine_epsilon, cvflonum((FLOTYPE) macheps()));
  113.   setconstant(s_machine_epsilon, TRUE);
  114.   s_internal_ticks = xlenter("INTERNAL-TIME-UNITS-PER-SECOND");
  115.   setvalue(s_internal_ticks, cvfixnum((FIXTYPE) ticks_per_second()));
  116.   setconstant(s_internal_ticks, TRUE);
  117.   StInitGraphics();
  118.   init_colors();
  119.   init_cursors();
  120.   init_plot_symbols();
  121.   init_objects();
  122.  
  123.   features = xlenter("*FEATURES*");
  124.   setvalue(features, NIL);
  125.   setvalue(features, cons(xlenter("XLISP"), getvalue(features)));
  126. #ifdef MACINTOSH
  127.   setvalue(features, cons(xlenter("MACINTOSH"), getvalue(features)));
  128.   if (is_small_machine())
  129.     setvalue(features, cons(xlenter("SMALL-MACHINE"), getvalue(features)));
  130.   get_directory(buf);
  131.   setvalue(xlenter("*DEFAULT-PATH*"), make_string(buf));
  132.   set_variable_docstring(xlenter("*DEFAULT-PATH*"), 
  133.                          "Default path for require");  
  134. #endif MACINTOSH
  135. #ifdef SUNVIEW
  136.   setvalue(features, cons(xlenter("SUNVIEW"), getvalue(features)));
  137. #endif SUNVIEW
  138. #ifdef X11WINDOWS
  139.   setvalue(features, cons(xlenter("X11"), getvalue(features)));
  140. #endif X11WINDOWS
  141. #ifdef UNIX
  142.   setvalue(features, cons(xlenter("UNIX"), getvalue(features)));
  143.   if (! StHasWindows()) {
  144.       setfunction(xlenter("PLOT-POINTS"), 
  145.             getfunction(xlenter("GNU-PLOT-POINTS")));
  146.       setfunction(xlenter("PLOT-LINES"), 
  147.             getfunction(xlenter("GNU-PLOT-LINES")));
  148.   }
  149.   libdir = getunixenv("XLISPLIB");
  150.   if (libdir == nil) libdir = "";
  151.   setvalue(xlenter("*DEFAULT-PATH*"), make_string(libdir));
  152.   set_variable_docstring(xlenter("*DEFAULT-PATH*"), 
  153.              "Default path for require");
  154. #endif UNIX
  155. #ifdef AMIGA
  156.   setvalue(features, cons(xlenter("AMIGA"), getvalue(features)));
  157.   setvalue(xlenter("*DEFAULT-PATH*"), make_string(""));
  158.   set_variable_docstring(xlenter("*DEFAULT-PATH*"), 
  159.              (LVAL)"Default path for require"); /* cast added JKL */
  160. #endif AMIGA
  161.   if (StScreenHasColor()) 
  162.     setvalue(features, cons(xlenter("COLOR"), getvalue(features)));
  163.   if (StHasWindows()) {
  164.     setvalue(features, cons(xlenter("DIALOGS"), getvalue(features)));
  165.     setvalue(features, cons(xlenter("WINDOWS"), getvalue(features)));
  166.   }
  167. }
  168.  
  169. static void init_color(index, sym)
  170.    /*int*/ ColorCode index; /* changed JKL */
  171.     LVAL sym;
  172. {
  173.   StGWSetColRefCon(index, sym);
  174.   xlputprop(sym, cvfixnum((FIXTYPE) index), xlenter("color-index"));
  175. }
  176.  
  177. static void init_colors()
  178. {
  179.   init_color(0, xlenter("WHITE"));
  180.   init_color(1, xlenter("BLACK"));
  181.   init_color(2, xlenter("RED"));
  182.   init_color(3, xlenter("GREEN"));
  183.   init_color(4, xlenter("BLUE"));
  184.   init_color(5, xlenter("CYAN"));
  185.   init_color(6, xlenter("MAGENTA"));
  186.   init_color(7, xlenter("YELLOW"));
  187. }
  188.  
  189. static void init_cursor(index, sym)
  190.     int index;
  191.     LVAL sym;
  192. {
  193.   StGWSetCursRefCon(index, sym);
  194.   xlputprop(sym, cvfixnum((FIXTYPE) index), xlenter("cursor-index"));
  195. }
  196.  
  197. static void init_cursors()
  198. {
  199.   init_cursor(0, xlenter("ARROW"));
  200.   init_cursor(1, xlenter("WATCH"));
  201.   init_cursor(2, xlenter("CROSS"));
  202.   init_cursor(3, xlenter("BRUSH"));
  203.   init_cursor(4, xlenter("HAND"));
  204.   init_cursor(5, xlenter("FINGER"));
  205.   init_cursor(6, xlenter("HOUR-GLASS"));
  206.   init_cursor(7, xlenter("TRASH-BAG"));
  207.   init_cursor(8, xlenter("TRASH-CAN"));
  208. }
  209.  
  210. static void init_plot_symbol(i1, i2, sym)
  211.     int i1, i2;
  212.     LVAL sym;
  213. {
  214.   StGWSetSymRefCon(i1, sym);
  215.   xlputprop(sym, integer_list_2(i1, i2), xlenter("symbol-index"));
  216. }
  217.  
  218. static void init_plot_symbols(void)
  219. {
  220.   init_plot_symbol(0, 3, xlenter("DOT"));
  221.   init_plot_symbol(0, 5, xlenter("DOT1"));
  222.   init_plot_symbol(1, 5, xlenter("DOT2"));
  223.   init_plot_symbol(2, 5, xlenter("DOT3"));
  224.   init_plot_symbol(3, 5, xlenter("DOT4"));
  225.   init_plot_symbol(4, 5, xlenter("DISK"));
  226.   init_plot_symbol(6, 7, xlenter("DIAMOND"));
  227.   init_plot_symbol(8, 9, xlenter("CROSS"));
  228.   init_plot_symbol(10, 11, xlenter("SQUARE"));
  229.   init_plot_symbol(12, 13, xlenter("WEDGE1"));
  230.   init_plot_symbol(14, 15, xlenter("WEDGE2"));
  231.   init_plot_symbol(16, 17, xlenter("X"));
  232. }
  233.  
  234. void statsymbols()
  235. {
  236.   statobsymbols();
  237.   s_true = xlenter("T");
  238.   setconstant(s_true, TRUE);
  239.   s_ielement = xlenter(":INITIAL-ELEMENT");
  240.   s_ivalue = xlenter(":INITIAL-VALUE");
  241.   s_sublist = xlenter("SUBLIST");
  242.   s_select = xlenter("SELECT");
  243.   s_elt = xlenter("ELT");
  244.   s_vector = xlenter("VECTOR");
  245.   s_list = xlenter("LIST");
  246.   s_ielement = xlenter(":INITIAL-ELEMENT");
  247.   s_icontents = xlenter(":INITIAL-CONTENTS");
  248.   s_displacedto = xlenter(":DISPLACED-TO");
  249.   s_arrayident = xlenter("_array-ident_");
  250.   s_subarray = xlenter("SUBARRAY");
  251.   a_float = xlenter("FLOAT");
  252.   s_pi = xlenter("PI");
  253.   setvalue(s_pi, cvflonum((FLOTYPE) PI));
  254.   setconstant(s_pi, TRUE);
  255.   
  256.   s_selecting = xlenter("SELECTING");
  257.   s_brushing = xlenter("BRUSHING");
  258.   s_user = xlenter("USER");
  259.   s_invisible = xlenter("INVISIBLE");
  260.   s_normal = xlenter("NORMAL");
  261.   s_hilited = xlenter("HILITED");
  262.   s_selected = xlenter("SELECTED");
  263.   s_solid = xlenter("SOLID");
  264.   s_dashed = xlenter("DASHED");
  265.   sk_point_labels = xlenter(":POINT-LABELS");
  266.   s_left = xlenter("LEFT");
  267.   s_center = xlenter("CENTER");
  268.   s_right = xlenter("RIGHT");
  269.   s_top = xlenter("TOP");
  270.   s_bottom = xlenter("BOTTOM");
  271.   s_xor = xlenter("XOR");
  272.   
  273.   sk_allocate = xlenter(":ALLOCATE");
  274.   sk_dispose = xlenter(":DISPOSE");
  275.   sk_resize = xlenter(":RESIZE");
  276.   sk_redraw = xlenter(":REDRAW");
  277.   sk_do_idle = xlenter(":DO-IDLE");
  278.   sk_do_click = xlenter(":DO-CLICK");
  279.   sk_do_motion = xlenter(":DO-MOTION");
  280.   sk_do_key = xlenter(":DO-KEY");
  281.   sk_install = xlenter(":INSTALL");
  282.   sk_remove = xlenter(":REMOVE");
  283.   sk_update = xlenter(":UPDATE");
  284.   sk_select = xlenter(":SELECT");
  285.   sk_mark_points_in_rect = xlenter(":MARK-POINTS-IN-RECT");
  286.   sk_adjust_screen = xlenter(":ADJUST-SCREEN");
  287.  
  288.   s_hardware_address = xlenter("HARDWARE-ADDRESS");
  289.   s_number_of_variables = xlenter("NUMBER-OF-VARIABLES");
  290.   s_menu = xlenter("MENU");
  291.   sk_draw = xlenter(":DRAW");
  292.   sk_redraw_background = xlenter(":REDRAW-BACKGROUND");
  293.   sk_redraw_content = xlenter(":REDRAW-CONTENT");
  294.   sk_redraw_overlays = xlenter(":REDRAW-OVERLAYS");
  295.   sk_resize_overlays = xlenter(":RESIZE-OVERLAYS");
  296.   sk_overlay_click = xlenter(":OVERLAY-CLICK");
  297.   sk_new = xlenter(":NEW");
  298.   s_histogram_proto = xlenter("HISTOGRAM-PROTO");
  299.   sk_new_menu = xlenter(":NEW-MENU");
  300.   sk_add_points = xlenter(":ADD-POINTS");
  301.   sk_add_lines = xlenter(":ADD-LINES");
  302.   s_black_on_white = xlenter("BLACK-ON-WHITE");
  303.   sk_variable_labels = xlenter(":VARIABLE-LABELS");
  304.   s_variable_labels = xlenter("VARIABLE-LABELS");
  305.   s_scatterplot_proto = xlenter("SCATTERPLOT-PROTO");
  306.   sk_adjust_to_data = xlenter(":ADJUST-TO-DATA");
  307.   sk_showing_labels = xlenter(":SHOWING-LABELS");
  308.   s_showing_labels = xlenter("SHOWING-LABELS");
  309.   sk_scale = xlenter(":SCALE");
  310.   s_spin_proto = xlenter("SPIN-PROTO");
  311.   s_scatmat_proto = xlenter("SCATMAT-PROTO");
  312.   s_name_list_proto = xlenter("NAME-LIST-PROTO");
  313.   s_depth_cuing = xlenter("DEPTH-CUING");
  314.   s_showing_axes = xlenter("SHOWING-AXES");
  315.   sk_type = xlenter(":TYPE");
  316.   s_dotword = xlenter("DOT");
  317.   s_title = xlenter("TITLE");
  318.   s_items = xlenter("ITEMS");
  319.   s_enabled = xlenter("ENABLED");
  320.   s_id = xlenter("ID");
  321.   s_menu_list = xlenter("MENU-LIST");
  322.   s_title = xlenter("TITLE");
  323.   s_key = xlenter("KEY");
  324.   s_mark = xlenter("MARK");
  325.   s_style = xlenter("STYLE");
  326.   s_action = xlenter("ACTION");
  327.   s_menu_proto = xlenter("MENU-PROTO");
  328.   s_apple_menu_proto = xlenter("APPLE-MENU-PROTO");
  329.   s_menu_item_proto = xlenter("MENU-ITEM-PROTO");
  330.   sk_do_action = xlenter(":DO-ACTION");
  331.   s_bold = xlenter("BOLD");
  332.   s_italic = xlenter("ITALIC");
  333.   s_underline = xlenter("UNDERLINE");
  334.   s_outline = xlenter("OUTLINE");
  335.   s_shadow = xlenter("SHADOW");
  336.   s_condense = xlenter("CONDENSE");
  337.   s_extend = xlenter("EXTEND");
  338.   sk_enabled = xlenter(":ENABLED");
  339.   s_type = xlenter("TYPE");
  340.   s_go_away = xlenter("GO-AWAY");
  341.   s_default_button = xlenter("DEFAULT-BUTTON");
  342.   s_text = xlenter("TEXT");
  343.   s_location = xlenter("LOCATION");
  344.   s_size = xlenter("SIZE");
  345.   s_dialog = xlenter("DIALOG");
  346.   s_min_value = xlenter("MIN-VALUE");
  347.   s_max_value = xlenter("MAX-VALUE");
  348.   s_page_increment = xlenter("PAGE-INCREMENT");
  349.   s_editable = xlenter("EDITABLE");
  350.   s_list_data = xlenter("LIST-DATA");
  351.   s_columns = xlenter("COLUMNS");
  352.   sk_scroll_action = xlenter(":SCROLL-ACTION");
  353.   s_dialog_proto = xlenter("DIALOG-PROTO");
  354.   sk_go_away = xlenter(":GO-AWAY");
  355.   s_dialog_item_proto = xlenter("DIALOG-ITEM-PROTO");
  356.   s_button_item_proto = xlenter("BUTTON-ITEM-PROTO");
  357.   s_toggle_item_proto = xlenter("TOGGLE-ITEM-PROTO");
  358.   s_text_item_proto = xlenter("TEXT-ITEM-PROTO");
  359.   sk_editable = xlenter(":EDITABLE");
  360.   s_choice_item_proto = xlenter("CHOICE-ITEM-PROTO");
  361.   s_scroll_item_proto = xlenter("SCROLL-ITEM-PROTO");
  362.   sk_min_value = xlenter(":MIN-VALUE");
  363.   sk_max_value = xlenter(":MAX-VALUE");
  364.   sk_page_increment = xlenter(":PAGE-INCREMENT");
  365.   s_list_item_proto = xlenter("LIST-ITEM-PROTO");
  366.   sk_columns = xlenter(":COLUMNS");
  367.   s_modeless = xlenter("MODELESS");
  368.   s_modal = xlenter("MODAL");
  369.   s_hardware_objects = xlenter("*HARDWARE-OBJECTS*");
  370.   s_bind_to_file = xlenter("BIND-TO-FILE");
  371.   sk_clobber = xlenter(":CLOBBER");
  372.   sk_own = xlenter(":OWN");
  373.   sk_print = xlenter(":PRINT");
  374.   s_arrow = xlenter("ARROW");
  375.   sk_activate = xlenter(":ACTIVATE");
  376.   sk_close = xlenter(":CLOSE");
  377.   s_value = xlenter("VALUE");
  378.   s_features = xlenter("*FEATURES*");
  379.   s_and = xlenter("AND");
  380.   s_or = xlenter("OR");
  381.   s_not = xlenter("NOT");
  382.   s_listener = xlenter("*LISTENER*");
  383.   s_random_state = xlenter("*RANDOM-STATE*");
  384.   s_input_stream = xlenter("*INPUT-STREAM*");
  385.   sk_tolerance = xlenter(":TOLERANCE");
  386.   sk_max_iters = xlenter(":MAX-ITERS");
  387.   sk_adjust_points_in_rect = xlenter(":ADJUST-POINTS-IN-RECT");
  388.   sk_adjust_screen_point = xlenter(":ADJUST-SCREEN-POINT");
  389.   s_self = xlenter("SELF");
  390.   s_function_documentation = xlenter("FUNCTION-DOCUMENTATION");
  391.   s_variable_documentation = xlenter("VARIABLE-DOCUMENTATION");
  392.   s_documentation = xlenter("DOCUMENTATION");
  393.   s_compound_data_proto = xlenter("COMPOUND-DATA-PROTO");
  394.   sk_data_length = xlenter(":DATA-LENGTH");
  395.   sk_data_seq = xlenter(":DATA-SEQ");
  396.   sk_make_data = xlenter(":MAKE-DATA");
  397.   sk_select_data = xlenter(":SELECT-DATA");
  398.   s_random_state = xlenter("*RANDOM-STATE*");
  399.   s_input_stream = xlenter("*INPUT-STREAM*");
  400.   s_machine_epsilon = xlenter("MACHINE-EPSILON");
  401.   s_graph = xlenter("GRAPH");
  402.   s_instance_slots = xlenter("INSTANCE-SLOTS");
  403.   s_proto_name = xlenter("PROTO-NAME");
  404.   s_content_variables = xlenter("CONTENT-VARIABLES");
  405.   s_rotation_type = xlenter("ROTATION-TYPE");
  406.   s_rotation_angle = xlenter("ROTATION-ANGLE");
  407.   s_rotation_controls = xlenter("ROTATION-CONTROLS");
  408.   s_histogram_internals = xlenter("HISTOGRAM-INTERNALS");
  409.   sk_adjust_depth_cuing = xlenter(":ADJUST-DEPTH-CUING");
  410.   sk_draw_axes = xlenter(":DRAW-AXES");
  411.   s_mode_list = xlenter("MODE-LIST");
  412.   s_scale_type = xlenter("SCALE-TYPE");
  413.   s_fixed = xlenter("FIXED");
  414.   s_variable = xlenter("VARIABLE");
  415.   sk_apply_transformation = xlenter(":APPLY-TRANSFORMATION");
  416.   sk_unselect_all_points = xlenter(":UNSELECT-ALL-POINTS");
  417.   s_set_slot_hook = xlenter("*SET-SLOT-HOOK*");
  418.   s_message_hook = xlenter("*MESSAGE-HOOK*");
  419.   s_mouse_mode = xlenter("MOUSE-MODE");
  420.   s_has_h_scroll = xlenter("HAS-H-SCROLL");
  421.   s_has_v_scroll = xlenter("HAS-V-SCROLL");
  422.   s_fixed_aspect = xlenter("FIXED-ASPECT");
  423.   sk_width = xlenter(":WIDTH");
  424.   sk_color = xlenter(":COLOR");
  425.   sk_symbol = xlenter(":SYMBOL");
  426.   s_multiple = xlenter("MULTIPLE");
  427.   s_internals = xlenter("INTERNALS");
  428.   s_color_index = xlenter("color-index");
  429.   s_cursor_index = xlenter("cursor-index");
  430.   s_symbol_index = xlenter("symbol-index");
  431.   s_internal_ticks = xlenter("INTERNAL-TIME-UNITS-PER-SECOND");
  432.   s_pitching = xlenter("PITCHING");
  433.   s_rolling = xlenter("ROLLING");
  434.   s_yawing = xlenter("YAWING");
  435.   sk_basis = xlenter(":BASIS");
  436.   sk_linked = xlenter(":LINKED");
  437.   sk_links = xlenter(":LINKS");
  438.   sk_show = xlenter(":SHOW");
  439.   sk_show_window = xlenter(":SHOW-WINDOW");
  440. }
  441.